﻿using DataAccess.Domain;
using DataAccess.EntityHelper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DataAccess.DAO.Impl
{
    public class DataGeneration
    {
        public static void InsertData()
        {
            var categorydb = new CategoryRepository();
            var accountdb = new AccountRepository();
            var businessdb = new BusinessRepository();
            var commentdb = new CommentRepository();
            var customerdb = new CustomerRepository();
            var orderDetaildb = new OrderDetailRepository();
            var orderdb = new OrderRepository();
            var productdb = new ProductRepository();
            var roledb = new RoleRepository();


            List<Role> listRoles = new List<Role>();

            string[] listRoleName = new string[] { "user", "business", "admin" };

            foreach(var name in listRoleName)
            {
                var role = new Role{Name = name};
                listRoles.Add(role);
                roledb.Add(role);
            }

            var accountUser = new Account { Email = "user@gmail.com", Password = "1111", RoleId = 1 };
            var accountBusiness = new Account { Email = "business@gmail.com", Password = "1111", RoleId = 2 };
            var accountAdmin = new Account { Email = "admin@gmail.com", Password = "1111", RoleId = 3 };

            accountdb.Add(accountUser);
            accountdb.Add(accountBusiness);
            accountdb.Add(accountAdmin);

             var customer = new Customer {Id = 1,FirstName = "Tien", LastName = "Nguyen Minh", Address = "290 Hoàng Văn Thụ, Phường 1, Quận Tân Bình", Birthday = new DateTime(1991, 11, 11), Gender = true, PhoneNumber = "0975832569" };
             customerdb.Add(customer);

             var business = new Business
             {
                 Id = 2,
                 NameCompany = "Việt Tiến",
                 Introduction = "Việt Tiến  là một xí nghiệp may tư nhân “ Thái BìnhDương kỹ nghệ công ty”- tên giao dịch là Pacific Enterprise. Xí nghiệp này được 8 cổ đông góp vốn do ông Sâm Bào Tài – một doanh nhân người Hoa làm Giám Đốc. Xí nghiệp hoạt động trên diện tích 1,513m2­­­ với 65 máy may gia đình và khoảng 100 công nhân.",
                 Address = " 07 Lê Minh Xuân, Quận Tân Bình",
                 PhoneNumber = "84-8-38640800",
                 Fax = "84-8-38645085-38654867",
                 Website = "viettien.com.vn"
             };
             businessdb.Add(business);

            List<Category> listCategories = new List<Category>();

            string[] listCategoriesName = new string[] { "Công sở nam", "Dạ hội nam", "Dã ngoại nam", "Công sở nữ", "Dạ hội nữ", "Dã ngoại nữ" };
            foreach (var name in listCategoriesName)
            {
                var category = new Category { Name = name };
                listCategories.Add(category);
                categorydb.Add(category);
            }

            var product = new Product
            {
                Name = "Áo sơ mi tay dài",
                Detail = "Thiết kế đơn giản nhưng tinh tế, cổ áo sơ mi cổ điển, cứng rắn đem lại vẻ ngoài mạnh mẽ, nam tính.Kiểu dáng thời trang nhưng vẫn rất lịch sự, chỉnh chu.Dáng áo hiện đại, form dáng đẹp, mang lại vẻ lịch lãm, sành điệu cho người mặc. Thích hợp cho các doanh nhân, nhân viên văn phòng và cả những bạn trẻ cá tính.Sản phẩm được đóng gói trong hộp sang trọng, là quà tặng ý nghĩa dành cho những người thân yêu.",
                Price = 530000,
                Sale = 15,
                Image = new byte[] { 1, 2 },
                CategoryId = 1,
                BusinessId = 2
            };
            var product1 = new Product
            {
                Name = "Áo sơ mi tay dài 1",
                Detail = "Thiết kế đơn giản nhưng tinh tế, cổ áo sơ mi cổ điển, cứng rắn đem lại vẻ ngoài mạnh mẽ, nam tính.Kiểu dáng thời trang nhưng vẫn rất lịch sự, chỉnh chu.Dáng áo hiện đại, form dáng đẹp, mang lại vẻ lịch lãm, sành điệu cho người mặc. Thích hợp cho các doanh nhân, nhân viên văn phòng và cả những bạn trẻ cá tính.Sản phẩm được đóng gói trong hộp sang trọng, là quà tặng ý nghĩa dành cho những người thân yêu.",
                Price = 530000,
                Sale = 15,
                Image = new byte[] { 1, 2 },
                CategoryId = 2,
                BusinessId = 2
            };
            productdb.Add(product);
            productdb.Add(product1);

            var comment = new Comment { Content = "Sản phẩm này có bảo hành không vậy?", CommentTime = DateTime.Now, ProductId = 1, CustomerId = 1 };
            commentdb.Add(comment);

            var order = new Order { OrderTime = DateTime.Now, Status = "New", CustomerId = 1 };
            orderdb.Add(order);

            var orderdetail = new OrderDetail {OrderId = 1, ProductId = 1, Quatity = 2 };
            var orderdetail1 = new OrderDetail { OrderId = 1, ProductId = 2, Quatity = 3 };
            orderDetaildb.Add(orderdetail);
            orderDetaildb.Add(orderdetail1);
            //Console.WriteLine();

        }
    }
}
